/**
 * 2010(c) Copyright Oceansoft Information System Co.,LTD. All rights reserved.
 * <p>
 * Compile: JDK 1.6+
 * <p>
 * 版权所有(C)：江苏欧索软件有限公司
 * <p>
 * 公司名称：江苏欧索软件有限公司
 * <p>
 * 公司地址：中国苏州科技城青山路1号
 * <p>
 * 网址: http://www.oceansoft.com.cn
 * <p>
 * 版本: 苏州公安统一用户管理平台1.0
 * <p>
 * 作者: 090922(陈伟)
 * <p>
 * 文件名:ISysResourceDao.java
 * <p>
 * 类产生时间: 2012-7-11 下午5:47:42
 * <p>
 * 负责人: 090922(陈伟)
 * <p>
 * Email:javacspring@gmail.com
 * <p>
 * 所在组 : 苏州公安统一用户管理平台
 * <p>
 * 所在部门: 电信/国土——技术二部
 * <p>
 * <p>
 */
package com.oceansoft.core.dao;

import java.util.List;

import com.oceansoft.core.common.util.Pagination;
import com.oceansoft.core.domain.SysResource;

/**
 * 系统资源数据库操作接口
 * 
 * @author chenw
 * 
 */
public interface ISysResourceDao {
	/**
	 * 加载指定用户拥有的资源信息列表
	 * 
	 * @param userId
	 * @return
	 */
	List<SysResource> findSysResourcesByUser(String userId);

	/**
	 * 分页显示系统资源信息
	 * 
	 * @param pageIndex
	 * @return
	 */
	Pagination<SysResource> findSysResourceByPage(int pageIndex);

	/**
	 * 含条件分页查询所有资源信息
	 * 
	 * @param codition
	 * @param pageIndex
	 * @return
	 */
	Pagination<SysResource> findSysResourceByPage(String name, int pageIndex);

	/**
	 * 新增应用系统资源
	 * 
	 * @param resource
	 * @return
	 */
	void saveSysResource(SysResource resource);

	/**
	 * 查询指定编号的资源信息
	 * 
	 * @param resourceId
	 * @return
	 */
	SysResource findSysResourceById(String resourceId);

	/**
	 * 更新系统资源信息
	 * 
	 * @param resource
	 */
	void updateSysResource(SysResource resource);

	/**
	 * 查询指定角色资源信息
	 * 
	 * @param roleId
	 * @return
	 */
	List<SysResource> findSysResourceByRoleId(String roleId);

	/**
	 * 查询所有资源信息
	 * 
	 * @return
	 */
	List<SysResource> findAllResource();

	/**
	 * 根据资源编号查询角色资源关联信息记录数
	 * 
	 * @param resourceId
	 * @return
	 */
	int findRoleResourceRowsByResourceId(String resourceId);

	/**
	 * 删除系统资源
	 * 
	 * @param resourceId
	 */
	void deleteResourceById(String resourceId);
}
